﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DebuggerStepThrough, XmlType(Namespace="http://www.onvif.org/ver10/schema"), DesignerCategory("code"), GeneratedCode("svcutil", "3.0.4506.2152")]
    public class PTZConfiguration : ConfigurationEntity
    {
        private XmlAttribute[] anyAttrField;
        private string defaultAbsolutePantTiltPositionSpaceField;
        private string defaultAbsoluteZoomPositionSpaceField;
        private string defaultContinuousPanTiltVelocitySpaceField;
        private string defaultContinuousZoomVelocitySpaceField;
        private PTZSpeed defaultPTZSpeedField;
        private string defaultPTZTimeoutField;
        private string defaultRelativePanTiltTranslationSpaceField;
        private string defaultRelativeZoomTranslationSpaceField;
        private PTZConfigurationExtension extensionField;
        private string nodeTokenField;
        private TestTool.Proxies.Onvif.PanTiltLimits panTiltLimitsField;
        private TestTool.Proxies.Onvif.ZoomLimits zoomLimitsField;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(DataType="anyURI", Order=1)]
        public string DefaultAbsolutePantTiltPositionSpace
        {
            get
            {
                return this.defaultAbsolutePantTiltPositionSpaceField;
            }
            set
            {
                this.defaultAbsolutePantTiltPositionSpaceField = value;
            }
        }

        [XmlElement(DataType="anyURI", Order=2)]
        public string DefaultAbsoluteZoomPositionSpace
        {
            get
            {
                return this.defaultAbsoluteZoomPositionSpaceField;
            }
            set
            {
                this.defaultAbsoluteZoomPositionSpaceField = value;
            }
        }

        [XmlElement(DataType="anyURI", Order=5)]
        public string DefaultContinuousPanTiltVelocitySpace
        {
            get
            {
                return this.defaultContinuousPanTiltVelocitySpaceField;
            }
            set
            {
                this.defaultContinuousPanTiltVelocitySpaceField = value;
            }
        }

        [XmlElement(DataType="anyURI", Order=6)]
        public string DefaultContinuousZoomVelocitySpace
        {
            get
            {
                return this.defaultContinuousZoomVelocitySpaceField;
            }
            set
            {
                this.defaultContinuousZoomVelocitySpaceField = value;
            }
        }

        [XmlElement(Order=7)]
        public PTZSpeed DefaultPTZSpeed
        {
            get
            {
                return this.defaultPTZSpeedField;
            }
            set
            {
                this.defaultPTZSpeedField = value;
            }
        }

        [XmlElement(DataType="duration", Order=8)]
        public string DefaultPTZTimeout
        {
            get
            {
                return this.defaultPTZTimeoutField;
            }
            set
            {
                this.defaultPTZTimeoutField = value;
            }
        }

        [XmlElement(DataType="anyURI", Order=3)]
        public string DefaultRelativePanTiltTranslationSpace
        {
            get
            {
                return this.defaultRelativePanTiltTranslationSpaceField;
            }
            set
            {
                this.defaultRelativePanTiltTranslationSpaceField = value;
            }
        }

        [XmlElement(DataType="anyURI", Order=4)]
        public string DefaultRelativeZoomTranslationSpace
        {
            get
            {
                return this.defaultRelativeZoomTranslationSpaceField;
            }
            set
            {
                this.defaultRelativeZoomTranslationSpaceField = value;
            }
        }

        [XmlElement(Order=11)]
        public PTZConfigurationExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=0)]
        public string NodeToken
        {
            get
            {
                return this.nodeTokenField;
            }
            set
            {
                this.nodeTokenField = value;
            }
        }

        [XmlElement(Order=9)]
        public TestTool.Proxies.Onvif.PanTiltLimits PanTiltLimits
        {
            get
            {
                return this.panTiltLimitsField;
            }
            set
            {
                this.panTiltLimitsField = value;
            }
        }

        [XmlElement(Order=10)]
        public TestTool.Proxies.Onvif.ZoomLimits ZoomLimits
        {
            get
            {
                return this.zoomLimitsField;
            }
            set
            {
                this.zoomLimitsField = value;
            }
        }
    }
}

